package com.ys.service.storage;

import com.ys.entity.storage.TccOnlineAssembleError;
import com.ys.entity.storage.TccOnlineAssembleErrorItem;
import com.ys.entity.storage.TccOnlineAssembleErrorItemByAdd;
import com.ys.vo.R;

import java.util.List;
import java.util.Map;

/**
 * 线上组装报错单
 */
public interface TccOnlineAssembleErrorService {

	/**
	 * 新增线上组装报错单
	 * @param assembleId 线上组装单表id
	 * @param itemList 子列表信息
	 */
	R add(Long assembleId,  List<TccOnlineAssembleErrorItemByAdd> itemList) throws Exception ;

	/**
	 * 不处理
	 * @param purchaseOrderBid 采购订单单号
	 * @param errorCause 原因
	 */
	R notHandle(String purchaseOrderBid,String errorCause) throws Exception ;

	/**
	 * 发补货
	 * @param purchaseOrderBid 采购订单单号
	 * @param logisticsMode 物流方式
	 * @param trackingNumber 物流单号
	 */
	R repairSend(String purchaseOrderBid,String logisticsMode,String trackingNumber) throws Exception ;

	/**
	 * 采购赔偿
	 * @param purchaseOrderBid 采购订单单号
	 * @param expenseSettleReturnItemId 费用结算返还单子表id
	 */
	R purchasePay(String purchaseOrderBid,Long expenseSettleReturnItemId) throws Exception ;

	/**
	 * 采购退款
	 * @param purchaseOrderBid 采购订单单号
	 * @param backBid 线上采购退货单单号
	 */
	R purchaseBack(String purchaseOrderBid,String backBid) throws Exception ;


	//线上组装报错单删除，根据商品组装单id
	R delByAssembleBid(Long assembleId) throws Exception ;



}